Preparation

Total participants (NULL = did not pass captchas):

## 
##  delay normal   NULL 
##    502    502    182

Participants that passed the captchas and finished the study:

## 
##      Normal Slowed-down 
##         500         502

Descriptive Statistics

Note that the descriptives do not need to match the results from the models below.

Age

## # A tibble: 1 × 6
##   age_min age_sd age_mean age_max age_NAs age_prop_NA
##     <dbl>  <dbl>    <dbl>   <dbl>   <int>       <dbl>
## 1      18   10.4     34.0      77       9     0.00898
## # A tibble: 2 × 7
##   exp_cond    age_min age_sd age_mean age_max age_NAs age_prop_NA
##   <fct>         <dbl>  <dbl>    <dbl>   <dbl>   <int>       <dbl>
## 1 Normal           18   9.82     33.6      77       6     0.012  
## 2 Slowed-down      18  10.9      34.4      74       3     0.00598

Gender

## # A tibble: 3 × 3
##   Sex        n     prop
##   <chr>  <int>    <dbl>
## 1 Female   340 0.339   
## 2 Male     661 0.660   
## 3 <NA>       1 0.000998
## # A tibble: 5 × 4
## # Groups:   exp_cond [2]
##   exp_cond    Sex        n  prop
##   <fct>       <chr>  <int> <dbl>
## 1 Normal      Female   167 0.334
## 2 Normal      Male     332 0.664
## 3 Normal      <NA>       1 0.002
## 4 Slowed-down Female   173 0.345
## 5 Slowed-down Male     329 0.655

Payed bonus

Overall bonus paid out was:

## [1] 4.06

If we split bonus by whether or not participants played, we see that playing leads to a slightly higher payout:

## # A tibble: 2 × 6
##   bet_at_all mean_bonus sd_bonus se_bonus max_bonus min_bonus
##   <chr>           <dbl>    <dbl>    <dbl>     <dbl>     <dbl>
## 1 bet              4.08     3.89    0.137        72         0
## 2 no bet           4        0       0             4         4

PGSI Scores

Percentages problem gamblers:

## # A tibble: 1 × 3
##    mean    sd perc_larger_7
##   <dbl> <dbl>         <dbl>
## 1  3.09  3.90         0.116

Percentages problem gamblers per condition:

## # A tibble: 2 × 4
##   exp_cond     mean    sd perc_larger_7
##   <fct>       <dbl> <dbl>         <dbl>
## 1 Normal       3.03  3.89         0.11 
## 2 Slowed-down  3.15  3.91         0.122

PGSI distribution Ferris & Wynne:

## # A tibble: 4 × 3
##   bin                       n  prob
##   <fct>                 <int> <dbl>
## 1 no risk (0)             327 0.326
## 2 low risk (1 - 2)        259 0.258
## 3 moderate risk (3 - 7)   300 0.299
## 4 problem gambler (> 7)   116 0.116

PGSI distribution Ferris & Wynne per condition:

## # A tibble: 8 × 4
## # Groups:   exp_cond [2]
##   exp_cond    bin                       n  prob
##   <fct>       <fct>                 <int> <dbl>
## 1 Normal      no risk (0)             158 0.316
## 2 Normal      low risk (1 - 2)        134 0.268
## 3 Normal      moderate risk (3 - 7)   153 0.306
## 4 Normal      problem gambler (> 7)    55 0.11 
## 5 Slowed-down no risk (0)             169 0.337
## 6 Slowed-down low risk (1 - 2)        125 0.249
## 7 Slowed-down moderate risk (3 - 7)   147 0.293
## 8 Slowed-down problem gambler (> 7)    61 0.122

PGSI distribution Currie et al.:

## # A tibble: 4 × 3
##   bin                       n  prob
##   <fct>                 <int> <dbl>
## 1 recreational (0)        327 0.326
## 2 low risk (1 - 4)        424 0.423
## 3 moderate risk (5 - 7)   135 0.135
## 4 problem gambler (> 7)   116 0.116

PGSI distribution Currie et al. per condition:

## # A tibble: 8 × 4
## # Groups:   exp_cond [2]
##   exp_cond    bin                       n  prob
##   <fct>       <fct>                 <int> <dbl>
## 1 Normal      recreational (0)        158 0.316
## 2 Normal      low risk (1 - 4)        227 0.454
## 3 Normal      moderate risk (5 - 7)    60 0.12 
## 4 Normal      problem gambler (> 7)    55 0.11 
## 5 Slowed-down recreational (0)        169 0.337
## 6 Slowed-down low risk (1 - 4)        197 0.392
## 7 Slowed-down moderate risk (5 - 7)    75 0.149
## 8 Slowed-down problem gambler (> 7)    61 0.122

Distribution of Betting Times

We considered the time participants took for each round of roulette starting with the second round (as this was the first round to which the 1 minute slow down applied).

The first graph shows the distribution of individual betting times in seconds when restricting the shown range.

However, this plot excludes a few very long betting times, most of which occurred in the slowed down version.

## # A tibble: 19 × 3
##    ppt_id exp_cond     time
##    <chr>  <fct>       <dbl>
##  1 P0842  Slowed-down   339
##  2 P0537  Slowed-down   348
##  3 P1016  Slowed-down   306
##  4 P0537  Slowed-down  1322
##  5 P0537  Slowed-down   531
##  6 P0899  Normal        433
##  7 P0491  Slowed-down  1274
##  8 P0122  Slowed-down  3146
##  9 P0661  Slowed-down   626
## 10 P0805  Slowed-down  1075
## 11 P0070  Slowed-down   390
## 12 P0379  Slowed-down   302
## 13 P0201  Slowed-down  2561
## 14 P0787  Normal        888
## 15 P1010  Slowed-down  2322
## 16 P1177  Slowed-down   391
## 17 P1118  Slowed-down   719
## 18 P0929  Slowed-down   820
## 19 P1071  Slowed-down   352

An additional 38 betting times (of which 28 are in the slowed down version) within the range of 150 to 300 seconds are not shown here.

We can also look at some overall statistics of the betting times:

## # A tibble: 2 × 5
##   exp_cond    time_mean time_median time_sd time_IQR
##   <fct>           <dbl>       <dbl>   <dbl>    <dbl>
## 1 Normal          20.95          15   25.73       10
## 2 Slowed-down     88.63          68  144.6        15

Distribution of Proportion Bet

Our main DV clearly does not look normally distributed.

## # A tibble: 1 × 3
##   gamble_at_all gamble_everything proportion_bet_rest
##           <dbl>             <dbl>               <dbl>
## 1         0.808             0.144               0.399

Binomial confidence or credibility intervals for the probability to gamble at all:

##           method   x    n      mean     lower     upper
## 1  agresti-coull 810 1002 0.8083832 0.7828261 0.8315849
## 2     asymptotic 810 1002 0.8083832 0.7840141 0.8327523
## 3          bayes 810 1002 0.8080758 0.7835673 0.8322395
## 4        cloglog 810 1002 0.8083832 0.7826222 0.8314267
## 5          exact 810 1002 0.8083832 0.7826229 0.8323168
## 6          logit 810 1002 0.8083832 0.7828269 0.8315792
## 7         probit 810 1002 0.8083832 0.7830742 0.8317968
## 8        profile 810 1002 0.8083832 0.7832438 0.8319480
## 9            lrt 810 1002 0.8083832 0.7832510 0.8319447
## 10     prop.test 810 1002 0.8083832 0.7823333 0.8320295
## 11        wilson 810 1002 0.8083832 0.7828544 0.8315565

Numbers of Spins

The l0 variables refer to the subset of participants who made at least 1 spin (i.e., number of spins is larger than zero).

## # A tibble: 1 × 6
##    mean median    sd mean_l0 median_l10 sd_l0
##   <dbl>  <dbl> <dbl>   <dbl>      <dbl> <dbl>
## 1   4.7      2   9.2     5.8          3    10
## # A tibble: 2 × 5
##   exp_cond     mean    sd mean_l0 sd_l0
##   <fct>       <dbl> <dbl>   <dbl> <dbl>
## 1 Normal       5.96 11.7     7.39 12.6 
## 2 Slowed-down  3.41  5.66    4.20  6.02

The following shows the top 10 largest bet counts (n is the number of participants with this bet count):

## # A tibble: 69 × 3
## # Groups:   exp_cond [2]
##    exp_cond    bet_count     n
##    <fct>           <dbl> <int>
##  1 Normal            136     1
##  2 Normal            130     1
##  3 Normal             81     1
##  4 Slowed-down        62     1
##  5 Slowed-down        53     1
##  6 Normal             51     1
##  7 Normal             49     1
##  8 Normal             47     1
##  9 Normal             46     1
## 10 Normal             42     1
## # … with 59 more rows

Proportion of participants with that many spins:

## # A tibble: 2 × 6
##   exp_cond    only1 morethan1 upto2 only2 morethan2
##   <fct>       <dbl>     <dbl> <dbl> <dbl>     <dbl>
## 1 Normal      0.211     0.789 0.355 0.144     0.645
## 2 Slowed-down 0.278     0.722 0.536 0.258     0.464

Average bet size

The following table shows the average bet sizes across all bets (and not across participants):

## # A tibble: 1 × 3
##    mean    sd     n
##   <dbl> <dbl> <int>
## 1 0.727 0.628  4688
## # A tibble: 2 × 4
##   exp_cond     mean    sd     n
##   <fct>       <dbl> <dbl> <int>
## 1 Normal      0.667 0.608  2978
## 2 Slowed-down 0.832 0.648  1710

The following tables show the averages of the participant average bet sizes (i.e., averages of averages):

## # A tibble: 1 × 3
##    mean    sd     n
##   <dbl> <dbl> <int>
## 1 0.904 0.602  1002
## # A tibble: 2 × 4
##   exp_cond     mean    sd     n
##   <fct>       <dbl> <dbl> <int>
## 1 Normal      0.870 0.593   500
## 2 Slowed-down 0.937 0.610   502

Model 1: Zero-One Inflated Beta Regression on Proportion Bet

We use a custom parameterization of a zero-one-inflated beta-regression model (see also here). The likelihood of the model is given by:

\[\begin{align} f(y) &= (1 - g) & & \text{if } y = 0 \\ f(y) &= g \times e & & \text{if } y = 1 \\ f(y) &= g \times (1 - e) \times \text{Beta}(a,b) & & \text{if } y \notin \{0, 1\} \\ a &= \mu \times \phi \\ b &= (1-\mu) \times \phi \end{align}\]

Where \(1 - g\) is the zero inflation probability, zipp is \(g\) and reflects the probability to gamble, \(e\) is the conditional one-inflation probability (coi) or conditional probability to gamble everything (i.e., conditional probability to have a value of one, if one gambles), \(\mu\) is the mean of the beta distribution (Intercept), and \(\phi\) is the precision of the beta distribution (phi). As we use Stan for modelling, we need to model on the real line and need appropriate link functions. For \phi the link is log (inverse is exp()), for all other parameters it is logit (inverse is plogis()).

We fit this model and add experimental condition as a factor to the three main model parameters (i.e., only the precision parameter is fixed across conditions). The following table provides the overview of the model and all model parameters and show good convergence.

##  Family: zoib2 
##   Links: mu = logit; phi = log; zipp = logit; coi = logit 
## Formula: new_prop ~ exp_cond 
##          phi ~ 1
##          zipp ~ exp_cond
##          coi ~ exp_cond
##    Data: part2 (Number of observations: 1002) 
##   Draws: 4 chains, each with iter = 26000; warmup = 1000; thin = 1;
##          total post-warmup draws = 1e+05
## 
## Population-Level Effects: 
##                          Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept                   -0.32      0.05    -0.42    -0.22 1.00   141787    77417
## phi_Intercept                1.28      0.05     1.18     1.37 1.00   137922    79202
## zipp_Intercept               1.42      0.11     1.21     1.65 1.00   140249    75297
## coi_Intercept               -1.61      0.13    -1.88    -1.36 1.00   148706    76108
## exp_condSlowedMdown         -0.17      0.07    -0.30    -0.03 1.00   144406    78328
## zipp_exp_condSlowedMdown     0.03      0.16    -0.29     0.35 1.00   142657    79793
## coi_exp_condSlowedMdown     -0.35      0.20    -0.75     0.04 1.00   144473    79866
## 
## Draws were sampled using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).

As a visual convergence check, we plot the density and trace plots for the four intercept parameters representing the normal speed condition or the overall mean (for phi).

We can also plot the three parameters showing the difference distribution of the slowed down condition from the normal speed condition. These differences are given on the logit scale.

The model does not have any obvious problems, even without priors for the condition specific effects.

Posterior Predictive Checks

As expected the synthetic data generated from the model looks a lot like the actual data. This suggests that the model is adequate for the data.

Model Estimates

We first give the table showing the posterior means and 95% CIs.

## # A tibble: 6 × 8
##   parameter          condition   estimate .lower .upper .width .point .interval
##   <fct>              <fct>          <dbl>  <dbl>  <dbl>  <dbl> <chr>  <chr>    
## 1 Gamble at all?     Normal         0.805 0.770   0.839   0.95 mean   qi       
## 2 Gamble at all?     Slowed-down    0.810 0.774   0.843   0.95 mean   qi       
## 3 Gamble everything? Normal         0.167 0.132   0.205   0.95 mean   qi       
## 4 Gamble everything? Slowed-down    0.124 0.0936  0.157   0.95 mean   qi       
## 5 Proportion bet?    Normal         0.421 0.397   0.445   0.95 mean   qi       
## 6 Proportion bet?    Slowed-down    0.381 0.358   0.404   0.95 mean   qi

For the zero-one inflated components, we can compare the model estimates with the data. Not unsurprisingly, they match quite well.

## # A tibble: 2 × 3
##   exp_cond    gamble_at_all gamble_everything
##   <fct>               <dbl>             <dbl>
## 1 Normal              0.806             0.166
## 2 Slowed-down         0.811             0.123

The following is the main results figure on the level of condition.

Difference distribution

We can also focus and look at the difference distributions.

## # A tibble: 3 × 8
##   parameter          condition    estimate  .lower   .upper .width .point .interval
##   <fct>              <fct>           <dbl>   <dbl>    <dbl>  <dbl> <chr>  <chr>    
## 1 Gamble at all?     "          "  0.00468 -0.0444  0.0537    0.95 mean   qi       
## 2 Gamble everything? "          " -0.0433  -0.0921  0.00490   0.95 mean   qi       
## 3 Proportion bet?    "          " -0.0399  -0.0727 -0.00705   0.95 mean   qi

Same as a figure.

Difference Distributions with Possible Priors

The following plot shows the estimated difference of the regular from the slowed down condition with overlaid density estimate (in black) and some possible prior distributions in colour (note again that the model did not actually include any priors). These differences are shown on the linear scale before applying the logistic link function. These priors are normal priors (who have a higher peak at 0 compared to Cauchy and t) with different SDs.

In this figure we considered three prior width. For a prior width of SD = 0.25 we expect with 95% that the largest possible effect we observe is 12.01% on the response scale. For a prior width of SD = 0.5 we expect with 95% that the largest possible effect we observe is 22.71% on the response scale. For a prior width of SD = 0.5 we expect with 95% that the largest possible effect we observe is 37.65% on the response scale.

Combined Estimates

## # A tibble: 2 × 7
##   condition   overall .lower .upper .width .point .interval
##   <fct>         <dbl>  <dbl>  <dbl>  <dbl> <chr>  <chr>    
## 1 Normal        0.417  0.387  0.446   0.95 mean   qi       
## 2 Slowed-down   0.371  0.343  0.399   0.95 mean   qi
## # A tibble: 1 × 7
##   condition            overall  .lower   .upper .width .point .interval
##   <chr>                  <dbl>   <dbl>    <dbl>  <dbl> <chr>  <chr>    
## 1 Slowed-down - Normal -0.0462 -0.0865 -0.00578   0.95 mean   qi

Individual Model Estimates

Model 1 With PGSI

The covariate scores do not differ between conditions (evidence for the null).

## Bayes factor analysis
## --------------
## [1] Intercept only : 12.59012 ±0.02%
## 
## Against denominator:
##   pgsi ~ exp_cond 
## ---
## Bayes factor type: BFlinearModel, JZS

The following table shows mean and SDs of the covariates per group.

## # A tibble: 2 × 3
##   exp_cond    pgsi_mean pgsi_sd
##   <fct>           <dbl>   <dbl>
## 1 Normal           3.03    3.89
## 2 Slowed-down      3.15    3.91

Model with Main Effects

##  Family: zoib2 
##   Links: mu = logit; phi = log; zipp = logit; coi = logit 
## Formula: new_prop ~ exp_cond + pgsi_c 
##          phi ~ 1
##          zipp ~ exp_cond + pgsi_c
##          coi ~ exp_cond + pgsi_c
##    Data: part2 (Number of observations: 1002) 
##   Draws: 4 chains, each with iter = 26000; warmup = 1000; thin = 1;
##          total post-warmup draws = 1e+05
## 
## Population-Level Effects: 
##                          Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept                   -0.32      0.05    -0.42    -0.22 1.00   196171    74746
## phi_Intercept                1.28      0.05     1.19     1.38 1.00   190455    75256
## zipp_Intercept               1.45      0.11     1.23     1.68 1.00   197926    75760
## coi_Intercept               -1.65      0.14    -1.92    -1.38 1.00   193801    77931
## exp_condSlowedMdown         -0.17      0.07    -0.31    -0.03 1.00   200255    72111
## pgsi_c                       0.02      0.01     0.01     0.04 1.00   207125    76876
## zipp_exp_condSlowedMdown     0.02      0.16    -0.29     0.34 1.00   196720    75198
## zipp_pgsi_c                  0.06      0.02     0.02     0.11 1.00   190564    79574
## coi_exp_condSlowedMdown     -0.38      0.20    -0.78     0.02 1.00   193066    78477
## coi_pgsi_c                   0.08      0.02     0.03     0.12 1.00   191732    81004
## 
## Draws were sampled using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).

As a visual convergence check, we plot the density and trace plots for the four intercept parameters representing the normal speed condition or the overall mean (for phi).

We can also plot the three parameters showing the difference distribution of the slowed down condition from the normal speed condition. These differences are given on the logit scale.

## # A tibble: 3 × 8
##   parameter          condition    estimate  .lower   .upper .width .point .interval
##   <fct>              <fct>           <dbl>   <dbl>    <dbl>  <dbl> <chr>  <chr>    
## 1 Gamble at all?     "          "  0.00368 -0.0446  0.0519    0.95 mean   qi       
## 2 Gamble everything? "          " -0.0449  -0.0923  0.00231   0.95 mean   qi       
## 3 Proportion bet?    "          " -0.0412  -0.0743 -0.00802   0.95 mean   qi

Plot of Relationships and BANOVA

The figure below provides an alternative visualisation of the relationships between covariates and betting behaviour. In particular, participants were categorized into one of three experimental betting behavior groups: participants who did not bet at all (“none”, 14% of participants), participants who bet some of their money (68% of participants), and participants who bet “all” of their money (18%). For both gambling scales we see a positive relationship between the betting behavior group and the gambling score. Participants who bet more have on average higher scores on the two gambling scales.

## 
##      none      some       all 
## 0.1916168 0.6916168 0.1167665

This is supported by Bayesian ANOVAs with Bayes factors of over 100 for the effect of betting behavior group on the PGSI scores. However, this effect was not moderated by gambling speed condition. In particular, there was evidence for the absence of both a main effect of gambling message condition and an interaction of gambling message condition with betting behaviour group for both gambling scale scores (Bayes factors for the null > 25).

## Bayes factor analysis
## --------------
## [1] exp_cond                                    : 0.07942733 ±0.02%
## [2] gamble_cat                                  : 146.7407   ±0.03%
## [3] exp_cond + gamble_cat                       : 12.69162   ±1.45%
## [4] exp_cond + gamble_cat + exp_cond:gamble_cat : 0.6253256  ±1.88%
## 
## Against denominator:
##   Intercept only 
## ---
## Bayes factor type: BFlinearModel, JZS
##             denominator
## numerator    exp_cond gamble_cat exp_cond + gamble_cat exp_cond + gamble_cat + exp_cond:gamble_cat
##   gamble_cat 1847.483          1              11.56201                                    234.6628

Model With Interactions

##  Family: zoib2 
##   Links: mu = logit; phi = log; zipp = logit; coi = logit 
## Formula: new_prop ~ exp_cond * pgsi_c 
##          phi ~ 1
##          zipp ~ exp_cond * pgsi_c
##          coi ~ exp_cond * pgsi_c
##    Data: part2 (Number of observations: 1002) 
##   Draws: 4 chains, each with iter = 26000; warmup = 1000; thin = 1;
##          total post-warmup draws = 1e+05
## 
## Population-Level Effects: 
##                                 Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept                          -0.32      0.05    -0.42    -0.22 1.00   137427    77963
## phi_Intercept                       1.28      0.05     1.19     1.38 1.00   133519    74471
## zipp_Intercept                      1.44      0.12     1.22     1.67 1.00   130184    74845
## coi_Intercept                      -1.64      0.14    -1.91    -1.38 1.00   151293    75658
## exp_condSlowedMdown                -0.17      0.07    -0.31    -0.03 1.00   143580    76086
## pgsi_c                              0.03      0.01    -0.00     0.05 1.00    92207    79088
## exp_condSlowedMdown:pgsi_c         -0.01      0.02    -0.04     0.03 1.00    94198    77196
## zipp_exp_condSlowedMdown            0.04      0.17    -0.28     0.37 1.00   122384    78161
## zipp_pgsi_c                         0.05      0.03    -0.01     0.12 1.00    95058    76013
## zipp_exp_condSlowedMdown:pgsi_c     0.04      0.05    -0.06     0.13 1.00    92926    77410
## coi_exp_condSlowedMdown            -0.40      0.21    -0.81     0.01 1.00   124272    79569
## coi_pgsi_c                          0.07      0.03     0.01     0.13 1.00    89959    77242
## coi_exp_condSlowedMdown:pgsi_c      0.02      0.04    -0.07     0.11 1.00    88532    76590
## 
## Draws were sampled using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).

As a visual convergence check, we plot the density and trace plots for the four intercept parameters representing the normal speed condition or the overall mean (for phi).

We can also plot the three parameters showing the difference distribution of the slowed down condition from the normal speed condition. These differences are given on the logit scale.

## # A tibble: 3 × 8
##   parameter          condition    estimate  .lower   .upper .width .point .interval
##   <fct>              <fct>           <dbl>   <dbl>    <dbl>  <dbl> <chr>  <chr>    
## 1 Gamble at all?     "          "  0.00671 -0.0428  0.0563    0.95 mean   qi       
## 2 Gamble everything? "          " -0.0469  -0.0954  0.00143   0.95 mean   qi       
## 3 Proportion bet?    "          " -0.0413  -0.0743 -0.00811   0.95 mean   qi

Model 2: Total Number of Spins

##  Family: negbinomial 
##   Links: mu = log; shape = identity 
## Formula: bet_count | trunc(lb = 1) ~ exp_cond 
##    Data: part_nozero (Number of observations: 810) 
##   Draws: 4 chains, each with iter = 26000; warmup = 1000; thin = 1;
##          total post-warmup draws = 1e+05
## 
## Population-Level Effects: 
##                     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept               1.02      0.34     0.27     1.44 1.00    21689    15312
## exp_condSlowedMdown    -0.80      0.13    -1.05    -0.56 1.00    43585    44105
## 
## Family Specific Parameters: 
##       Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## shape     0.18      0.06     0.07     0.29 1.00    21194    14580
## 
## Draws were sampled using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).

The data seems to be well described by the model.

When we zoom in (i.e., ignore data points above 50 for the plot), we can see the that the real and synthetic data match quite well.

## # A tibble: 2 × 7
##   exp_cond     mean .lower .upper .width .point .interval
##   <fct>       <dbl>  <dbl>  <dbl>  <dbl> <chr>  <chr>    
## 1 Normal       2.93  1.31    4.23   0.95 median qi       
## 2 Slowed-down  1.32  0.582   1.94   0.95 median qi

## # A tibble: 1 × 7
##   exp_cond              mean .lower .upper .width .point .interval
##   <chr>                <dbl>  <dbl>  <dbl>  <dbl> <chr>  <chr>    
## 1 Slowed-down - Normal -1.58  -2.52 -0.681   0.95 median qi
## # A tibble: 1 × 2
##   exp_cond             prop_larger_0
##   <chr>                        <dbl>
## 1 Slowed-down - Normal             0

Model 2 With PGSI

With Main Effects

##  Family: negbinomial 
##   Links: mu = log; shape = identity 
## Formula: bet_count | trunc(lb = 1) ~ exp_cond + pgsi_c 
##    Data: part_nozero (Number of observations: 810) 
##   Draws: 4 chains, each with iter = 26000; warmup = 1000; thin = 1;
##          total post-warmup draws = 1e+05
## 
## Population-Level Effects: 
##                     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept               1.01      0.36     0.26     1.44 1.00    30337    18078
## exp_condSlowedMdown    -0.80      0.13    -1.05    -0.56 1.00    62314    53591
## pgsi_c                  0.00      0.02    -0.03     0.03 1.00    68753    54882
## 
## Family Specific Parameters: 
##       Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## shape     0.17      0.06     0.06     0.29 1.00    29392    17756
## 
## Draws were sampled using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).

## # A tibble: 2 × 7
##   exp_cond     mean .lower .upper .width .point .interval
##   <fct>       <dbl>  <dbl>  <dbl>  <dbl> <chr>  <chr>    
## 1 Normal       2.91  1.30    4.21   0.95 median qi       
## 2 Slowed-down  1.31  0.569   1.93   0.95 median qi

With Interactions

##  Family: negbinomial 
##   Links: mu = log; shape = identity 
## Formula: bet_count | trunc(lb = 1) ~ exp_cond * pgsi_c 
##    Data: part_nozero (Number of observations: 810) 
##   Draws: 4 chains, each with iter = 26000; warmup = 1000; thin = 1;
##          total post-warmup draws = 1e+05
## 
## Population-Level Effects: 
##                            Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept                      1.00      0.36     0.23     1.43 1.00    31512    21588
## exp_condSlowedMdown           -0.80      0.13    -1.06    -0.56 1.00    64418    56874
## pgsi_c                         0.00      0.02    -0.04     0.05 1.00    48764    53707
## exp_condSlowedMdown:pgsi_c    -0.01      0.03    -0.07     0.06 1.00    48398    56081
## 
## Family Specific Parameters: 
##       Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## shape     0.17      0.06     0.06     0.29 1.00    30894    21196
## 
## Draws were sampled using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).

## NOTE: Results may be misleading due to involvement in interactions

## NOTE: Results may be misleading due to involvement in interactions
## # A tibble: 2 × 7
##   exp_cond     mean .lower .upper .width .point .interval
##   <fct>       <dbl>  <dbl>  <dbl>  <dbl> <chr>  <chr>    
## 1 Normal       2.88  1.26    4.19   0.95 median qi       
## 2 Slowed-down  1.29  0.545   1.92   0.95 median qi
## NOTE: Results may be misleading due to involvement in interactions

Model 3: Average Bet Size

The following shows the distribution of average bet sizes for those that bet at least once. The left plot shows the actual averages and the right plot the average scaled to the 0 to 1 range (i.e., after dividing by 2 as pre-registered). We can see that the distribution of actual averages is multi-modal with peaks at several prominent numbers: the first peak at the minimum possible bet size 0.1, the second peak at 0.5, the largest peak at the center at 1 and finally a large peak at the maximum of 2. As pre-registered we will analyse the data with a one-inflated beta-regression model.

##  Family: oib 
##   Links: mu = logit; phi = log; oi = logit 
## Formula: average_scaled ~ exp_cond 
##          phi ~ 1
##          oi ~ exp_cond
##    Data: part_nozero (Number of observations: 810) 
##   Draws: 4 chains, each with iter = 26000; warmup = 1000; thin = 1;
##          total post-warmup draws = 1e+05
## 
## Population-Level Effects: 
##                        Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept                 -0.52      0.05    -0.62    -0.42 1.00   117234    81473
## phi_Intercept              1.23      0.05     1.14     1.33 1.00   118483    80530
## oi_Intercept              -2.05      0.16    -2.37    -1.75 1.00   115208    76360
## exp_condSlowedMdown        0.06      0.07    -0.08     0.20 1.00   118975    79362
## oi_exp_condSlowedMdown     0.21      0.21    -0.20     0.63 1.00   116127    78606
## 
## Draws were sampled using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).

When comparing the actual data with synthetic data from the model, we can see an obvious problem due to the use of prominent numbers. Whereas the peak at 1 is nicely recovered by the model, the other peaks are not. However, the overall shape of the synthetic data is at least similar to the shape of the observed data.

## Joining, by = c("exp_cond", ".chain", ".iteration", ".draw")

## # A tibble: 4 × 8
##   parameter     exp_cond    value .lower .upper .width .point .interval
##   <fct>         <fct>       <dbl>  <dbl>  <dbl>  <dbl> <chr>  <chr>    
## 1 Mean bet size Normal      0.373 0.350   0.396   0.95 median qi       
## 2 Mean bet size Slowed-down 0.387 0.363   0.410   0.95 median qi       
## 3 Bet maximum   Normal      0.114 0.0856  0.148   0.95 median qi       
## 4 Bet maximum   Slowed-down 0.138 0.107   0.173   0.95 median qi

Difference distribution:

## # A tibble: 2 × 8
##   parameter     exp_cond              value  .lower .upper .width .point .interval
##   <fct>         <chr>                 <dbl>   <dbl>  <dbl>  <dbl> <chr>  <chr>    
## 1 Mean bet size Slowed-down - Normal 0.0140 -0.0187 0.0465   0.95 median qi       
## 2 Bet maximum   Slowed-down - Normal 0.0235 -0.0222 0.0690   0.95 median qi

We can also re-transforming the model estimates to the £-scale. This gives the following two numbers:

## # A tibble: 2 × 7
##   exp_cond    pred_mean .lower .upper .width .point .interval
##   <fct>           <dbl>  <dbl>  <dbl>  <dbl> <chr>  <chr>    
## 1 Normal          0.889  0.834  0.947   0.95 median qi       
## 2 Slowed-down     0.943  0.886  1.00    0.95 median qi

Of course, we can also look at the corresponding difference distribution:

## # A tibble: 1 × 7
##   exp_cond             pred_mean  .lower .upper .width .point .interval
##   <chr>                    <dbl>   <dbl>  <dbl>  <dbl> <chr>  <chr>    
## 1 Slowed-down - Normal    0.0538 -0.0269  0.133   0.95 median qi

Model 3 with PGSI

With Main Effect

##  Family: oib 
##   Links: mu = logit; phi = log; oi = logit 
## Formula: average_scaled ~ exp_cond + pgsi_c 
##          phi ~ 1
##          oi ~ exp_cond
##    Data: part_nozero (Number of observations: 810) 
##   Draws: 4 chains, each with iter = 26000; warmup = 1000; thin = 1;
##          total post-warmup draws = 1e+05
## 
## Population-Level Effects: 
##                        Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept                 -0.52      0.05    -0.62    -0.43 1.00   132096    80699
## phi_Intercept              1.25      0.05     1.16     1.35 1.00   131280    79940
## oi_Intercept              -2.05      0.16    -2.37    -1.75 1.00   131684    72906
## exp_condSlowedMdown        0.06      0.07    -0.08     0.20 1.00   133382    77673
## pgsi_c                     0.03      0.01     0.01     0.05 1.00   135762    77110
## oi_exp_condSlowedMdown     0.21      0.21    -0.20     0.63 1.00   133556    77427
## 
## Draws were sampled using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).

## Joining, by = c("exp_cond", ".chain", ".iteration", ".draw")

Difference distribution:

With Interaction

##  Family: oib 
##   Links: mu = logit; phi = log; oi = logit 
## Formula: average_scaled ~ exp_cond * pgsi_c 
##          phi ~ 1
##          oi ~ exp_cond
##    Data: part_nozero (Number of observations: 810) 
##   Draws: 4 chains, each with iter = 26000; warmup = 1000; thin = 1;
##          total post-warmup draws = 1e+05
## 
## Population-Level Effects: 
##                            Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept                     -0.52      0.05    -0.62    -0.43 1.00   158731    77698
## phi_Intercept                  1.25      0.05     1.16     1.35 1.00   161915    76108
## oi_Intercept                  -2.05      0.16    -2.36    -1.75 1.00   144370    74781
## exp_condSlowedMdown            0.06      0.07    -0.08     0.19 1.00   161101    72690
## pgsi_c                         0.02      0.01    -0.01     0.04 1.00   105929    81572
## exp_condSlowedMdown:pgsi_c     0.03      0.02    -0.01     0.06 1.00   105092    81066
## oi_exp_condSlowedMdown         0.21      0.21    -0.21     0.63 1.00   155452    74101
## 
## Draws were sampled using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).

Difference distribution:

Riskiness of Bets

Do either of the spin speeds affect the riskiness of bets chosen in the roulette? Different bets come with different potential payoffs in roulette. If £1 is bet, then this can provide a total payoff of between £2 (e.g., bets on red or black) and £36 (bets on a single number). These numbers, 2 and 36, are the decimal odds for these two bets, representing the total potential payoff Additionally, gamblers can place multiple bets per spin, (e.g., betting £0.50 on red and £0.50 on 7). Since the number 7 is a red colour, the bet on 7 can only win if the first bet on red also wins. Multiple bets per spin can either be placed in a way that accentuates risk, as in this example, or in a way that hedges risk (for example, a bet on black added to the bet on 7, or betting on reds and blacks together). The purpose of this exploratory analysis is to see if either warning label affects risk taking.

Following our pre-registration we have measures the amount of risk taken by looking at the variance of the decimal odds for each number in the roulette table. It will measure the concentration of the bet, with more risk represented by more concentrated bets (e.g., betting on a single number), and lower risk represented by more spread bets (e.g., betting on reds, betting on evens). For example, if a participant places a bet on number 7, the decimal odds for that number is 36 (36 times the amount bet if the roulette stops on the number 7). If a participant places a bet on red, then every red number on the table gets a decimal odd of 2 (the participant will win twice the amount bet if the roulette stops on any red number). In order to calculate the proposed risk variable, we will also assign decimal odds of zero for the numbers in which participants did not bet (since they win zero times the amount bet if the roulette stops on those numbers). In the two examples above, every number except 7 will be assigned zero, and every non-red number will be assigned zero, respectively. The risk variable will be the variance of the array of decimal odds for every number on the roulette table, taking into account the bets the participant has placed, and including zeroes for non-winning numbers. The value of this risk variable can range between 0.03 and 35.03. The value cannot be zero in our task because participants are not able to bet the same amount across all numbers including the zero due to the limitations in the values of the available tokens and total bet amounts. Higher numbers indicate more risk taking (with the highest, 35.03, associated with concentrating the bet on a single number). Lower numbers indicate lower risk taking (with the lowest, 0.03, associated with spreading the bet across every red and black number, excluding zero).

The following plot shows the distribution of this variable after aggregating within participants. The left plot shows the original variable on the scale from 0.03 to 35.03. The middle plot shows the variable after dividing by 36 so that the variable ranges from just above 0 to just below 1. The right plot shows the variable after subtracting 0.03 and dividing by 35 so that the smallest value is mapped to 0 and the largest value is mapped to 1.

Beta Regression

We first analyse the data with a beta-regression model. For this, the data needs to be between 0 and 1, but exclude exactly 0 and 1. Consequently, we use the transformation shown above in the middle panel. As before, we fit the data and allow for an effect of gambling message.

The model does not show any obvious problems. In addition, we can see that the 95%-CIs for the slowed down effect includes 0.

##  Family: beta 
##   Links: mu = logit; phi = log 
## Formula: average_odds2 ~ exp_cond 
##          phi ~ 1
##    Data: bets_av (Number of observations: 810) 
##   Draws: 4 chains, each with iter = 2000; warmup = 1000; thin = 1;
##          total post-warmup draws = 4000
## 
## Population-Level Effects: 
##                     Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept              -2.06      0.06    -2.17    -1.94 1.00     2493     2417
## phi_Intercept           1.59      0.06     1.48     1.69 1.00     2574     2729
## exp_condSlowedMdown    -0.04      0.07    -0.18     0.09 1.00     2802     2690
## 
## Draws were sampled using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).

The posterior predictive distribution shows some problems, but at least the shape of the synthetic data is similar to the distribution of the actual data (posterior predictive distributions of a model assuming a Gaussian response distribution was considerably worse and is therefore not included here).

The following tables show the average riskiness per condition and differences from the no warning message group on the fitted scale, i.e., the (0, 1) scale used for the beta regression.

## # A tibble: 2 × 7
##   condition  estimate .lower .upper .width .point .interval
##   <chr>         <dbl>  <dbl>  <dbl>  <dbl> <chr>  <chr>    
## 1 Normal        0.114 0.103   0.125   0.95 mean   qi       
## 2 SlowedDown    0.110 0.0990  0.121   0.95 mean   qi
## # A tibble: 1 × 7
##   condition           estimate  .lower  .upper .width .point .interval
##   <fct>                  <dbl>   <dbl>   <dbl>  <dbl> <chr>  <chr>    
## 1 SlowedDown - Normal -0.00402 -0.0178 0.00894   0.95 mean   qi

Session Info (R and Package Numbers)

## R version 4.1.0 (2021-05-18)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 18.04.5 LTS
## 
## Matrix products: default
## BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1
## 
## locale:
##  [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C               LC_TIME=en_GB.UTF-8       
##  [4] LC_COLLATE=en_GB.UTF-8     LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_GB.UTF-8   
##  [7] LC_PAPER=en_GB.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
## [10] LC_TELEPHONE=C             LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
##  [1] emmeans_1.7.0          binom_1.1-1            BayesFactor_0.9.12-4.2 Matrix_1.3-3          
##  [5] coda_0.19-4            tidybayes_3.0.1        brms_2.16.1            Rcpp_1.0.7            
##  [9] forcats_0.5.1          stringr_1.4.0          dplyr_1.0.7            purrr_0.3.4           
## [13] readr_2.0.2            tidyr_1.1.4            tibble_3.1.5           ggplot2_3.3.5         
## [17] tidyverse_1.3.1        checkpoint_1.0.0      
## 
## loaded via a namespace (and not attached):
##   [1] readxl_1.3.1         backports_1.2.1      plyr_1.8.6           igraph_1.2.7        
##   [5] splines_4.1.0        svUnit_1.0.6         crosstalk_1.1.1      rstantools_2.1.1    
##   [9] inline_0.3.19        digest_0.6.28        htmltools_0.5.2      rsconnect_0.8.24    
##  [13] fansi_0.5.0          magrittr_2.0.1       checkmate_2.0.0      tzdb_0.1.2          
##  [17] modelr_0.1.8         RcppParallel_5.1.4   matrixStats_0.61.0   vroom_1.5.5         
##  [21] xts_0.12.1           prettyunits_1.1.1    colorspace_2.0-2     rvest_1.0.2         
##  [25] ggdist_3.0.0         haven_2.4.3          xfun_0.27            callr_3.7.0         
##  [29] crayon_1.4.1         jsonlite_1.7.2       lme4_1.1-27.1        zoo_1.8-9           
##  [33] glue_1.4.2           gtable_0.3.0         MatrixModels_0.5-0   V8_3.4.2            
##  [37] distributional_0.2.2 pkgbuild_1.2.0       rstan_2.21.2         abind_1.4-5         
##  [41] scales_1.1.1         mvtnorm_1.1-3        DBI_1.1.1            miniUI_0.1.1.1      
##  [45] xtable_1.8-4         bit_4.0.4            stats4_4.1.0         StanHeaders_2.21.0-7
##  [49] DT_0.19              htmlwidgets_1.5.4    httr_1.4.2           threejs_0.3.3       
##  [53] arrayhelpers_1.1-0   posterior_1.1.0      ellipsis_0.3.2       pkgconfig_2.0.3     
##  [57] loo_2.4.1            farver_2.1.0         sass_0.4.0           dbplyr_2.1.1        
##  [61] utf8_1.2.2           labeling_0.4.2       tidyselect_1.1.1     rlang_0.4.12        
##  [65] reshape2_1.4.4       later_1.3.0          munsell_0.5.0        cellranger_1.1.0    
##  [69] tools_4.1.0          cli_3.0.1            generics_0.1.0       broom_0.7.9         
##  [73] ggridges_0.5.3       evaluate_0.14        fastmap_1.1.0        yaml_2.2.1          
##  [77] bit64_4.0.5          processx_3.5.2       knitr_1.36           fs_1.5.0            
##  [81] pbapply_1.5-0        nlme_3.1-152         mime_0.12            projpred_2.0.2      
##  [85] xml2_1.3.2           compiler_4.1.0       bayesplot_1.8.1      shinythemes_1.2.0   
##  [89] rstudioapi_0.13      gamm4_0.2-6          curl_4.3.2           reprex_2.0.1        
##  [93] bslib_0.3.1          stringi_1.7.5        highr_0.9            ps_1.6.0            
##  [97] Brobdingnag_1.2-6    lattice_0.20-44      nloptr_1.2.2.2       markdown_1.1        
## [101] ggsci_2.9            shinyjs_2.0.0        tensorA_0.36.2       vctrs_0.3.8         
## [105] pillar_1.6.4         lifecycle_1.0.1      jquerylib_0.1.4      bridgesampling_1.1-2
## [109] estimability_1.3     cowplot_1.1.1        httpuv_1.6.3         R6_2.5.1            
## [113] promises_1.2.0.1     gridExtra_2.3        codetools_0.2-18     boot_1.3-28         
## [117] colourpicker_1.1.1   MASS_7.3-54          gtools_3.9.2         assertthat_0.2.1    
## [121] withr_2.4.2          shinystan_2.5.0      mgcv_1.8-35          parallel_4.1.0      
## [125] hms_1.1.1            grid_4.1.0           minqa_1.2.4          rmarkdown_2.11      
## [129] shiny_1.7.1          lubridate_1.8.0      base64enc_0.1-3      dygraphs_1.1.1.6